home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / misc / sci / WorldMap_bin.lha / WorldMap / Src / WMapIni.c < prev    next >
C/C++ Source or Header  |  1998-11-09  |  4KB  |  107 lines

  1. #include <exec/types.h>
  2. #include <pragma/all_lib.h>
  3. #include <exec/memory.h>
  4.  
  5. #include <string.h>
  6.  
  7. #include <WMap.h>
  8.  
  9. extern APTR   TextMemA[2];
  10. extern char   *CountryText[MAXCOUNTRY];
  11. extern char   *PText[MAXOTHER];
  12. extern struct WPreferences WPrefs;
  13.  
  14.  
  15. //0-Neutral/Blockfrei 1-NATO 2-WarschauerVertrag 3-ArabischeLiga 4-Chinesische Allianz
  16. //5-Kommunist.Block
  17.  
  18. BYTE BlockID[MAXCOUNTRY]={
  19.   1,       1,      1,         1,             0,     1,       1,      1,        1,          1,
  20. //Portugal Spanien Frankreich Großbritannien Irland Dänemark Belgien Luxemburg Niederlande BRD
  21.   2,  0,      0,         1,      2,   2,    2,     2,          2,       1,
  22. //DDR Schweiz Österreich Italien CSSR Polen Ungarn Jugoslawien Albanien Griechenland
  23.   2,        2,       2,    1,     3,      0,     3,     3,        3,   3,
  24. //Bulgarien Rumänien UdSSR Türkei Libanon Israel Syrien Jordanien Irak Iran
  25.   3,     3,            3,      3,        3,   5,       0,    0,       0,          0,
  26. //Kuweit Saudi-Arabien Bahrein VAEmirate Oman VDRJemen Jemen Pakistan Afghanistan Indien
  27.   0,    0,         0,    0,       0,       5,        5,   5,      4,    0,
  28. //Nepal Bangladesh Burma SriLanka Thailand Kampuchea Laos Vietnam China Taiwan
  29.   5,   0,       0,    1,       1,       1,       5,          0,       0,         0,
  30. //KDVR Südkorea Japan Finnland Schweden Norwegen Mongolische Malaysia Indonesien Philippinen
  31.   0,      0,         0,         1,     3,      0,     3,       0,     1,  0,
  32. //Fidschi Australien Neuseeland Island Ägypten Libyen Tunesien Kanada USA Mexico
  33.   5,   0,    0,              0,        0,     0,       5,        0,         0,        0,
  34. //Kuba Haiti DominikRepublik Guatemala Belize Honduras Nikaragua ElSalvador Kostarika Panama
  35.   0,        0,      0,   0,    0,          0,      0,       0,       0,        0,
  36. //Kolumbien Ekuador Peru Chile Argentinien Uruguay Paraguay Bolivien Venezuela Guyana
  37.   0,       0,        0,        0,      0,        0,         5,         0,      0,       0,
  38. //Suriname Brasilien Südafrika Lesotho Swasiland Madagaskar Mocambique Namibia Botswana Simbabwe
  39.   0,     0,     0,     0,       0,      0,         0,          0,      0,     0,
  40. //Malawi Sambia Angola Algerien Marokko Westsahara Mauretanien Senegal Gambia Guinea-Bissau
  41.   0,     0,           0,      0,             0,   0,        0,    0,   0,    0,
  42. //Guinea Sierra Leone Liberia Elfenbeinküste Mali Obervolta Ghana Togo Benin Nigeria
  43.   0,    0,     3,    5,        0,       0,      0,    0,       0,     0,
  44. //Niger Tschad Sudan Äthiopien Djibouti Somalia Kenia Tansania Uganda Rwanda
  45.   0,      0,    0,      0,                0,    0,    0,
  46. //Burundi Zaire Kamerun Äquatorial-Guinea Gabun Kongo ZAR
  47.   0};
  48.   
  49.   
  50.  
  51. void SETSTRPARA(BYTE TextNum, LONG TextL, WORD MaxStrNum)
  52.  
  53. {
  54. LONG  AddrB;
  55. UBYTE *DataB;
  56. WORD  StrCnt=0;
  57.  
  58.  
  59. AddrB=(LONG)TextMemA[TextNum];
  60. if (TextNum==0) CountryText[0]=(UBYTE*)AddrB
  61. else if (TextNum==1) PText[0]=(UBYTE*)AddrB;
  62. StrCnt=1;
  63. do
  64.    {
  65.    DataB=(UBYTE*)AddrB; AddrB=AddrB+1;
  66.    if (*DataB==10)
  67.       {
  68.       *DataB=0;
  69.       if (TextNum==0) CountryText[StrCnt]=(UBYTE*)AddrB
  70.       else if (TextNum==1) PText[StrCnt]=(UBYTE*)AddrB;
  71.       StrCnt++;
  72.       }
  73.    }
  74. while ((AddrB<(LONG)TextMemA[TextNum]+TextL) && (StrCnt<MaxStrNum));
  75. }
  76.  
  77.  
  78.  
  79. BOOL INITLANGS(BYTE LangID)
  80.  
  81. {
  82. BPTR  FHandle=NULL;
  83. char  PathFR[100];
  84. LONG  l;
  85.  
  86. strcpy(PathFR,WPrefs.Lang);
  87. if (LangID==0) strncat(PathFR,"/country.txt",13)
  88. else if (LangID==1) strncat(PathFR,"/other.txt",11);
  89. FHandle=Open(PathFR,MODE_OLDFILE);
  90. if (FHandle)
  91.    {
  92.    Seek(FHandle,0,OFFSET_END);
  93.    l=Seek(FHandle,0,OFFSET_BEGINNING);
  94.    if (!(TextMemA[LangID]=AllocVec(l,MEMF_FAST)))
  95.       {
  96.       Close(FHandle);
  97.       return FALSE;
  98.       }
  99.    Read(FHandle,TextMemA[LangID],l);
  100.    Close(FHandle);
  101.    if (LangID==0) SETSTRPARA(0,l,MAXCOUNTRY)
  102.    else if (LangID==1) SETSTRPARA(1,l,MAXOTHER);
  103.    return TRUE;
  104.    }
  105. else return FALSE;
  106. }
  107.